package com.wyh.mapper.appmapper;

import com.wyh.domain.vo.gruopfour.myProprietorVO.*;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface MyProprietorMapper {

    /**
     * 获取我的业主
     * @param customerName
     * @param telephone
     * @param ids
     * @return
     */
    List<MyProprietorVO> getMyProprietor(@Param("customerName") String customerName, @Param("telephone") String telephone, @Param("ids") List<Integer> ids);

    /**
     * 获取客户基本信息
     * @param id
     * @return
     */
    BasicInformation getBasicInformation(Integer id);

    /**
     * 获取顾客联系人信息
     * @param id
     * @return
     */
    List<ContactsSummary> getContacts(String id);

    /**
     * 获取资源信息
     * @param id
     * @return
     */
    List<ResourceInformationVO> getResourceInformation(Integer id);

    /**
     * 获取缴费记录
     * @param startTime
     * @param endTime
     * @param customerName
     * @param payee
     * @param ids
     * @return
     */
    List<PaymentRecordsVO> getPaymentRecords(
                                             @Param("startTime") String startTime,
                                             @Param("endTime") String endTime,
                                             @Param("customerName") String customerName,
                                             @Param("payee") String payee,
                                             @Param("ids") List<Integer> ids
                                            );

    /**
     * 账单详情中的费项
     * @param id
     * @return
     */
    List<ChargeDetailsVO> getChargeDetails(Integer id);

    /**
     * 账单详情
     * @param id
     * @return
     */
    BillDetailVO getBillDetails(Integer id);

    /**
     * 获取保证金
     * @param id
     * @return
     */
    List<DepositVO> getDeposit(Integer id);

    /**
     * 获取专属余额
     * @param id
     * @return
     */
    List<SpecialBalanceVO> getSpecialBalance(Integer id);

    /**
     * 获取变更资源
     * @param id
     * @return
     */
    ChangeResourceVO getChangeResource(Integer id);

    /**
     * 获取最近一年账单列表
     * @param id
     * @return
     */
    List<BillListVO> getBillList(Integer id);
}
